One of the biggest factors considered in the design and development of software applications is ease of use. Often the difference between a successful software application and an unsuccessful software application is decided by the user's experience when interacting with it. Because of this, software designers strive to simplify the user's experience.
One particularly competitive segment of the software industry is word processing software. Word processing software deals with organizing data and presenting the data to the user in a meaningful way. Typically, word processing software includes mechanisms for organizing data, such as tables, numbered lists, and the like. These mechanisms require the user to perform some action to create and define a structure for organizing the data. For example, when the user wishes to format data into columns, the user invokes actions for creating a table. Typically, the actions involve selecting a menu item associated with tables and selecting a create table sub-menu option. Once in the creation process, the user specifies the number of columns and rows for the table. When the basic structure for the table has been defined, the user may then begin to enter data into the table. However, later, if the user wants another column, the user must then invoke other actions to manipulate the existing table structure, such as selecting a format table menu selection that may pop-up another window.
Because invoking these mechanisms for organizing data takes the user's attention away from the data being input and moves it to other actions, many users may forego using these mechanisms. The user may instead organize the data using simple keystrokes, such as a tab. These tabs are then used to align the data into columns. Lines created using this technique are commonly referred to as “tabbed lines”. While this technique is initially fairly convenient and straightforward for the user to use when creating columns of data, the technique fails if the user attempts to modify the structure in any significant manner. For example, if text becomes too long for one column, each of the subsequent columns in the tabbed line must be moved accordingly. The user may also need to adjust multiple rows in order to properly align the data again.
Knowing that users may attempt to create their own structure using tabs, at least one word processing software product allows a user to convert tabbed lines into a table. However, again this functionality directs the user's attention away from the original data and moves it to another window for specifying details for the conversion. All these additional actions distract slightly from the user's experience. Thus, while each of these software products provides mechanisms for manipulating data, given the competitiveness of word processing software products, each of them is less than an ideal solution to the problem.